1. Field of the Invention
The invention relates to digital filters, and more particularly, to an improved digital filter which avoids undershoot and overshoot problems.
2. Description of Related Art
It is often desirable to design digital filters whose frequency response changes sharply at a particular frequency. For example, in the design of a low-pass filter, it is often ideal for the filter to pass all frequencies below the cut-off frequency with a gain of unity, and pass all frequencies above the cut-off frequency with a gain of zero (i.e., such frequencies are suppressed completely). These filters present a number of design tradeoffs, most commonly the tradeoff between the steepness of the roll-off and the physical size of the filter. Another tradeoff which arises in the design of these filters is that the sharper the transition in the frequency domain, the more severe are the undershoot and overshoot excursions which are produced due to the Gibbs phenomenon in the time domain in response to input signal amplitude transitions. Transient undershoot and overshoot excursions often appear as "ringing" in the time domain output signal in response to an abrupt step transition from one constant level to another constant level in the time domain input signal. It is known that undershoot and overshoot excursions can be avoided by using filters having a Gaussian roll-off characteristic, but this may not satisfy the requirements for the system.
Transient undershoot/overshoot is a problem in many system designs since it may, depending on the specific input signal and the filter transfer function, result in output levels which exceed the compliance limits for which various elements of the system are designed. For such a signal to avoid distortion, subsequent elements of the system must be capable of processing and conveying data of greater magnitude than would be required if the filter did not produce transient undershoot or overshoot. Such capability frequently requires that the subsequent elements in the system be able to handle additional high-order significant bits of data. This additional requirement is over and above any increased encoding precision requirements caused by the generation of low-order bits by the filtering arithmetic processes.
Accordingly, filters which generate undershoot or overshoot usually require additional bits of data encoding precision to be carried throughout all subsequent digital signal processing elements, including any DAC which may be present to convert the output data to an analog signal. The circuitry is therefore more expensive, since each additional bit of precision requires greater arithmetic circuit complexity as well as additional pipeline register storage capacity. The additional arithmetic circuit complexity can also, in many instances, result in slower system throughput owing to the increased propagation delays inherent in more complex combinational logic.
Another problem caused by transient undershoot/overshoot characteristics of digital filters appears in a DSP system which must ultimately convert digital output data into an analog signal using a DAC. A DSP system DAC with a compliance range which is defined by the transient undershoot or overshoot limits will have a greater compliance range than will a DSP system DAC with a compliance range defined by minimum and maximum steady-state levels. Thus the precision (number of monotonic conversion bits) of such a DAC must be greater if it is to maintain the same adjacent code differential quantization as a DAC whose compliance range is defined by steady-state levels. This increases the cost and complexity of the DAC.
The need to pass undershoot and overshoot transients can also degrade the signal-to-noise ratio (SNR) performance of such a DAC. The output of a DAC will satisfy its conversion linearity error tolerance specification only if its output bias level is maintained between specified limits. This requires, for example, that the output voltage bias of a current-mode DAC always be greater than a minimum voltage and less than a maximum voltage. For low voltage (e.g. five volts or less) integrated circuits, which constitute a significant commercial technology in which DSP systems and DACs are implemented, it is desirable to provide the greatest voltage range available for internal DAC circuits while, at the same time, minimizing noise degradation of the output signal by allowing the greatest possible voltage compliance range for the output signal. When transient excursions must be passed, there is less voltage range available for the internal circuitry of the DAC and for the output analog signal during steady-state operation. This necessitates the attenuation of the output signal range for steady-state operation since the operation of the internal circuitry must be ensured. That is, if the output signal range is not attenuated, then a transient undershoot or overshoot in the digital input signal to the DAC might create non-linearities, oscillations, latch-up or other problems in the internal circuitry of the DAC. However, since additive noise typically has a constant amplitude, the result of such attenuation is a degraded signal-to-noise ratio.
Still another problem caused by undershoot/overshoot excursions is apparent in DSP systems producing signals which are intended to adhere to a standard specification such as the NTSC television transmission standard. Such specifications require that signals conform to numerous parameters, including limits on amplitude excursions. DSP systems which produce signals with undershoot or overshoot can violate such specifications by, for example, in NTSC video, making significant excursions into the blacker-than-black or whiter-than-white regions relative to the blanking level in response to an abrupt luma transition. Not only can this result in a video signal which violates the specifications of the NTSC standard, but it can also result in serious malfunctions in downstream systems that rely on adherence of signals to the specification.
Accordingly, to avoid ringing and undershoot/overshoot transients, it is usually necessary to employ filters having sufficiently gradual roll-off characteristics. This causes yet another problem, however, for systems which need to process input signals with an unknown origin. For example, a low-pass filter in a color video modulator may in some instances be processing signals which were produced by computer, while in other instances it may be processing signals which were produced by a video camera. Signals from the latter source usually have already been sufficiently filtered to avoid causing transient undershoot/overshoot problems, while computer-generated signals often have not. Thus if the filter is designed with a gradual enough roll-off to prevent transient undershoots and overshoots caused by the computer-generated input signal, such a filter would needlessly degrade performance in response to input signals which derive from a previously filtered source such as a video camera. On the other hand, if the filter is designed with a sharp frequency cutoff so as not to degrade the performance of the system in response to an already-filtered signal source, then the filter will fail to prevent the undershoot or overshoot which can be produced in response to a computer-generated signal source.
One possible solution to the transient undershoot/overshoot problem might be to design the filter using sharp frequency cutoffs, and then either "hard clip" signal excursions outside the compliance range or allow them to "fold over" back into the compliance range. A hard clip maintains the signal level at a fixed "clip" level, irrespective of the actual signal magnitude during the overshoot. However, while the hard clip technique causes only a minor time domain waveform distortion, it is rich in high amplitude harmonic content which can cause many undesirable aliasing and interference problems. The fold over technique produces a dramatically wrong level, with severe time domain waveform distortion and extreme harmonic contamination. Both of these alternatives are undesirable.